
package com.dhcc.bpm.modules.api.vo;

import org.springblade.core.mp.base.Excel;
import com.dhcc.bpm.modules.api.entity.Api;
import com.dhcc.bpm.modules.api.entity.Product;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;

import java.util.List;

/**
 * @ClassName ProductVO
 * @Description 产品表视图实体类
 * @Author daina
 * @Date 2020/2/25 16:02
 * @Version V1.0
 * @Copyright: 2020 东华软件 . All rights reserved.
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ProductVO对象", description = "产品表")
public class ProductVO extends Product {
	private static final long serialVersionUID = 1L;
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	@Excel(name = "appId")
 	private Long appId;

	@Excel(name = "apiIds")
	private String apiIds;

	@Excel(name = "apiList")
	private List<Api> apiList;

	/**
	 * 交易量
	 */
	@JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
	@Excel(name = "交易量")
	private Long  num;
	/**
	 * 成功量
	 */
	@JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
	@Excel(name = "成功量")
	private Long successNum;
	/**
	 * 成功率
	 */
	@Excel(name = "成功率")
	private String successRate;
	/**
	 * 总行数
	 */
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	@Excel(name = "总行数")
	private Long lineNum;
	/**
	 * 平均响应时间
	 */
	@JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
	@Excel(name = "平均响应时间")
	private Double responseTime;

	/**
	 * 开始时间
	 */
	@ApiModelProperty(value = "开始时间")
	@Excel(name = "开始时间")
	private String startDate;

	/**
	 * 结束时间
	 */
	@ApiModelProperty(value = "结束时间")
	@Excel(name = "结束时间")
	private String endDate;
	//所属部门
	private String   deptName;

	/**api主键
	 */
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private Long   apiId;
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private Long   baseProductId;
	private Long[]   productIds;

	private List<ApiVO> children;
}
